iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0
Claude AI

跟 Claude Code CLI 變成好朋友系列 第 20

【Day20】使用 Claude 設計資料庫 Schema

  • 分享至 

  • xImage
  •  

在我們使用 Claude Code 建立了 Vue 前端架構後,現在終於要開始處理一個真正的後端困擾:my-refrigerator 裡面的資料到底要怎麼保存?

如果只是做一個簡單的展示網站,資料可以暫時寫死在前端。但 my-refrigerator 的目標是真正記錄家裡的冰箱、採買清單與食譜,因此需要一個可靠的資料庫來保存這些資訊。今天的任務,就是使用 Claude Code 設計第一版的資料庫 Schema。

這一次,我們也會正式使用 Database Skill

如果 Frontend Skill 是告訴 Claude Code「Vue 前端應該怎麼寫」,那麼 Database Skill 就是告訴 Claude Code「資料庫應該怎麼設計」。例如資料表命名方式、欄位命名規則、Primary Key 的使用方式、資料型別、時間欄位格式、Foreign Key,以及資料表之間的關聯方式,都可以整理在 Database Skill 中。

因此,今天不應該直接對 Claude Code 說「幫我建立資料庫」,而是先讓它了解目前專案的規則:

CLAUDE.md
Database Skill
my-refrigerator 功能需求

接著可以提出這樣的 Prompt:

「請根據 my-refrigerator 的功能需求與 Database Skill,設計第一版 PostgreSQL Schema。請先分析資料表、欄位與關聯,不要修改任何檔案。」

這時候 Claude Code 就可以從產品功能反推資料模型,而不是單純把畫面上的欄位全部轉成資料表。

目前最核心的資料,可以先從幾個部分開始。

第一個是 User。未來如果加入登入功能,每個使用者都應該擁有自己的冰箱、採買清單與最愛食譜。

第二個是 Refrigerator Item,也就是冰箱中的食材。例如:

food_name
quantity
unit
category
purchase_date
expiration_date
image_url

這些資料可以讓我們知道「冰箱裡有什麼」、「有多少」,以及「什麼時候可能過期」。

第三個是 Shopping Item,用來記錄採買清單。例如:

name
quantity
unit
purchased
created_at

未來看到冰箱裡缺少雞蛋,就可以直接把「雞蛋」加入採買清單,買完之後再標記為已完成。

第四個則是 Recipe。食譜本身可以包含名稱、介紹、圖片、料理步驟等資訊。如果一份食譜需要多種食材,就可以另外建立 Recipe Ingredient,將食譜與食材建立關聯。

這時候就會發現,資料庫設計不是單純「有哪些欄位」而已,更重要的是資料之間的關係

例如:

User
 │
 ├── Refrigerator Items
 │
 ├── Shopping Items
 │
 └── Favorite Recipes
             │
             ↓
           Recipes
             │
             ↓
      Recipe Ingredients

這些關係如果一開始沒有想清楚,等到後面功能越做越多,就可能需要花大量時間修改資料庫。因此,讓 Claude Code 先分析資料模型,再由開發者 Review,是非常重要的 AI 開發流程。

這裡也可以再次練習前幾天學到的「先問、再做」。

例如不要直接接受 Claude Code 的第一個 Schema,而是可以進一步詢問:

「為什麼 Recipe 與 Recipe Ingredient 要拆成兩張表?」

「Refrigerator Item 和 Food 是否應該拆開?」

「哪些欄位應該允許 NULL?」

「這些資料表之間的 Foreign Key 關係應該怎麼設計?」

透過這些問題,可以讓 Claude Code 成為「資料庫設計討論的夥伴」,而不是單純的 SQL 產生器。

完成 Schema 設計後,再讓 Claude Code 根據確認好的架構建立 SQL 或 Migration。這時候 Database Skill 就能發揮作用,確保資料表名稱、欄位格式、資料型別與關聯方式都符合專案規範。

而且 Database Skill 不應該只是今天用一次。隨著專案持續開發,未來新增 AI 食材辨識、食材保存期限、特價食材與 AI 食譜推薦等功能時,都可以持續更新 Database Skill,讓資料庫設計規範跟著專案一起成長。

今天最重要的學習並不是記住每一張資料表,而是理解一個觀念:

Database Schema 是整個應用程式的重要骨架,而 Database Skill 則是告訴 AI「這個骨架應該怎麼設計」的規則。

完成後,my-refrigerator 已經具備三個重要基礎:

Vue 前端架構 + Database Skill + Supabase PostgreSQL 資料庫。

接下來,我們就可以讓前端真正開始讀取與寫入這些資料,建立 my-refrigerator 第一個可以實際操作的功能——我的冰箱


上一篇
【Day19】使用 Claude 建立 Vue 專案架構
下一篇
【Day21】使用 Claude 建立 Repository / Service 資料存取層
系列文
跟 Claude Code CLI 變成好朋友21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言